package JUC;

import java.util.concurrent.PriorityBlockingQueue;

/**
 * @author 豆包LU
 * @date 2023/5/8 11:29
 */
public class PriorityBlockingQueueExample {

    public static void main(String[] args) throws InterruptedException {

        // 创建一个具有优先级的阻塞队列，初始容量为5
        PriorityBlockingQueue<Integer> queue = new PriorityBlockingQueue<>(5);

        // 向队列中添加元素，元素会按照优先级自动排序
        queue.put(7);
        queue.put(3);
        queue.put(2);
        queue.put(6);
        queue.put(4);
        // 输出队列中的元素
        System.out.println("PriorityBlockingQueue 中的元素为：" + queue);

        // 从队列中取出元素，元素会按照优先级从小到大依次出队
        int size = queue.size();
        for (int i = 0; i < size; i++) {
            int element = queue.take(); // 取出队首元素
            System.out.println("取出元素：" + element);
        }
    }
}

